package com.cj.mobile.iabp.mvp.model.entity;

import android.os.Parcel;
import android.os.Parcelable;

/**
 * @ProjectName: AptitudeAndroid
 * @Package: com.cj.mobile.iabp.mvp.model.entity
 * @ClassName: OutCategory
 * @Description: 出库品类
 * @Author: WLY
 * @CreateDate: 2023/4/17 14:25
 */
public class OutCategory implements Parcelable {
    public OutCategory() {
    }

    public OutCategory(String catId, String catName, double totalWeight, double preTotalWeight, String realityOutWeight, double outPrice, double outTotalCost) {
        this.catId = catId;
        this.catName = catName;
        this.totalWeight = totalWeight;
        this.preTotalWeight = preTotalWeight;
        this.realityOutWeight = realityOutWeight;
        this.price = outPrice;
        this.outCost = outTotalCost;
    }

    // 品类名称
    private String catId;
    private String catName;
    // 出单单号
    private String outStockNo;
    // 送货人
    private String carUser;
    // 销售订单明细ID
    private String orderListId;
    // 销售订单号
    private String orderNo;
    // 商品ID
    private String productId;
    // 销售重量
    private double weight;
    // 出库ID
    private String outStockId;
    // 车牌号
    private String carNo;
    // 联系电话
    private String tel;
    // 运单编号
    private String wbNo;
    // 预估销售总重量
    private double preTotalWeight;
    // 出库编号
    private String warehouseNo;
    // 仓库剩余库存
    private double totalWeight;
    // 出库重量
    private double outWeight;
    // 过磅重量
    private double outWeighting;
    // 单价
    private double price;
    // 出库总成本
    private double outCost;
    /*--------------------------------------------本地数据--------------------------------------------*/
    // 是否初始化
    private boolean isInit;
    // 实际出库重量
    private String realityOutWeight = "";

    // 签收重量
    private double signWeight;
    // 磅差
    private double diffWeight;
    // 磅差金额
    private double diffAmount;
    // 不含税销售单价
    private double salePrice;
    // 不含税销售成本
    private double saleCost;
    // 税率
    private double taxRate;
    // 含税单价
    private double taxPrice;
    // 含税成本
    private double taxCost;

    /*------------------------------------本地使用------------------------------------*/
    private boolean initSignWeight;

    public boolean isInitSignWeight() {
        return initSignWeight;
    }

    public void setInitSignWeight(boolean initSignWeight) {
        this.initSignWeight = initSignWeight;
    }

    public String getCatId() {
        return catId;
    }

    public void setCatId(String catId) {
        this.catId = catId;
    }

    public String getCatName() {
        return catName;
    }

    public void setCatName(String catName) {
        this.catName = catName;
    }

    public String getOutStockNo() {
        return outStockNo;
    }

    public void setOutStockNo(String outStockNo) {
        this.outStockNo = outStockNo;
    }

    public String getCarUser() {
        return carUser;
    }

    public void setCarUser(String carUser) {
        this.carUser = carUser;
    }

    public String getOrderListId() {
        return orderListId;
    }

    public void setOrderListId(String orderListId) {
        this.orderListId = orderListId;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public double getWeight() {
        return weight;
    }

    public void setWeight(double weight) {
        this.weight = weight;
    }

    public String getOutStockId() {
        return outStockId;
    }

    public void setOutStockId(String outStockId) {
        this.outStockId = outStockId;
    }

    public String getCarNo() {
        return carNo;
    }

    public void setCarNo(String carNo) {
        this.carNo = carNo;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getWbNo() {
        return wbNo;
    }

    public void setWbNo(String wbNo) {
        this.wbNo = wbNo;
    }

    public double getPreTotalWeight() {
        return preTotalWeight;
    }

    public void setPreTotalWeight(double preTotalWeight) {
        this.preTotalWeight = preTotalWeight;
    }

    public String getWarehouseNo() {
        return warehouseNo;
    }

    public void setWarehouseNo(String warehouseNo) {
        this.warehouseNo = warehouseNo;
    }

    public double getTotalWeight() {
        return totalWeight;
    }

    public void setTotalWeight(double totalWeight) {
        this.totalWeight = totalWeight;
    }

    public double getOutWeight() {
        return outWeight;
    }

    public void setOutWeight(double outWeight) {
        this.outWeight = outWeight;
    }

    public double getOutWeighting() {
        return outWeighting;
    }

    public void setOutWeighting(double outWeighting) {
        this.outWeighting = outWeighting;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public double getOutCost() {
        return outCost;
    }

    public void setOutCost(double outCost) {
        this.outCost = outCost;
    }

    public boolean isInit() {
        return isInit;
    }

    public void setInit(boolean init) {
        isInit = init;
    }

    public String getRealityOutWeight() {
        return realityOutWeight;
    }

    public void setRealityOutWeight(String realityOutWeight) {
        this.realityOutWeight = realityOutWeight;
    }

    public double getSignWeight() {
        return signWeight;
    }

    public void setSignWeight(double signWeight) {
        this.signWeight = signWeight;
    }

    public double getDiffWeight() {
        return diffWeight;
    }

    public void setDiffWeight(double diffWeight) {
        this.diffWeight = diffWeight;
    }

    public double getDiffAmount() {
        return diffAmount;
    }

    public void setDiffAmount(double diffAmount) {
        this.diffAmount = diffAmount;
    }

    public double getSalePrice() {
        return salePrice;
    }

    public void setSalePrice(double salePrice) {
        this.salePrice = salePrice;
    }

    public double getSaleCost() {
        return saleCost;
    }

    public void setSaleCost(double saleCost) {
        this.saleCost = saleCost;
    }

    public double getTaxRate() {
        return taxRate;
    }

    public void setTaxRate(double taxRate) {
        this.taxRate = taxRate;
    }

    public double getTaxPrice() {
        return taxPrice;
    }

    public void setTaxPrice(double taxPrice) {
        this.taxPrice = taxPrice;
    }

    public double getTaxCost() {
        return taxCost;
    }

    public void setTaxCost(double taxCost) {
        this.taxCost = taxCost;
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(this.catId);
        dest.writeString(this.catName);
        dest.writeString(this.outStockNo);
        dest.writeString(this.carUser);
        dest.writeString(this.orderListId);
        dest.writeString(this.orderNo);
        dest.writeString(this.productId);
        dest.writeDouble(this.weight);
        dest.writeString(this.outStockId);
        dest.writeString(this.carNo);
        dest.writeString(this.tel);
        dest.writeString(this.wbNo);
        dest.writeDouble(this.preTotalWeight);
        dest.writeString(this.warehouseNo);
        dest.writeDouble(this.totalWeight);
        dest.writeDouble(this.outWeight);
        dest.writeDouble(this.outWeighting);
        dest.writeDouble(this.price);
        dest.writeDouble(this.outCost);
        dest.writeByte(this.isInit ? (byte) 1 : (byte) 0);
        dest.writeString(this.realityOutWeight);
        dest.writeDouble(this.signWeight);
        dest.writeDouble(this.diffWeight);
        dest.writeDouble(this.diffAmount);
        dest.writeDouble(this.salePrice);
        dest.writeDouble(this.saleCost);
        dest.writeDouble(this.taxRate);
        dest.writeDouble(this.taxPrice);
        dest.writeDouble(this.taxCost);
    }

    public void readFromParcel(Parcel source) {
        this.catId = source.readString();
        this.catName = source.readString();
        this.outStockNo = source.readString();
        this.carUser = source.readString();
        this.orderListId = source.readString();
        this.orderNo = source.readString();
        this.productId = source.readString();
        this.weight = source.readDouble();
        this.outStockId = source.readString();
        this.carNo = source.readString();
        this.tel = source.readString();
        this.wbNo = source.readString();
        this.preTotalWeight = source.readDouble();
        this.warehouseNo = source.readString();
        this.totalWeight = source.readDouble();
        this.outWeight = source.readDouble();
        this.outWeighting = source.readDouble();
        this.price = source.readDouble();
        this.outCost = source.readDouble();
        this.isInit = source.readByte() != 0;
        this.realityOutWeight = source.readString();
        this.signWeight = source.readDouble();
        this.diffWeight = source.readDouble();
        this.diffAmount = source.readDouble();
        this.salePrice = source.readDouble();
        this.saleCost = source.readDouble();
        this.taxRate = source.readDouble();
        this.taxPrice = source.readDouble();
        this.taxCost = source.readDouble();
    }

    protected OutCategory(Parcel in) {
        this.catId = in.readString();
        this.catName = in.readString();
        this.outStockNo = in.readString();
        this.carUser = in.readString();
        this.orderListId = in.readString();
        this.orderNo = in.readString();
        this.productId = in.readString();
        this.weight = in.readDouble();
        this.outStockId = in.readString();
        this.carNo = in.readString();
        this.tel = in.readString();
        this.wbNo = in.readString();
        this.preTotalWeight = in.readDouble();
        this.warehouseNo = in.readString();
        this.totalWeight = in.readDouble();
        this.outWeight = in.readDouble();
        this.outWeighting = in.readDouble();
        this.price = in.readDouble();
        this.outCost = in.readDouble();
        this.isInit = in.readByte() != 0;
        this.realityOutWeight = in.readString();
        this.signWeight = in.readDouble();
        this.diffWeight = in.readDouble();
        this.diffAmount = in.readDouble();
        this.salePrice = in.readDouble();
        this.saleCost = in.readDouble();
        this.taxRate = in.readDouble();
        this.taxPrice = in.readDouble();
        this.taxCost = in.readDouble();
    }

    public static final Creator<OutCategory> CREATOR = new Creator<OutCategory>() {
        @Override
        public OutCategory createFromParcel(Parcel source) {
            return new OutCategory(source);
        }

        @Override
        public OutCategory[] newArray(int size) {
            return new OutCategory[size];
        }
    };
}
